home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / !XLS_S10.ZIP / XSCR.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1995-07-23  |  3KB  |  324 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     String   STRING001
  33.     String   STRING002
  34.     String   TSTRING003(17)
  35.     String   STRING004
  36.     String   STRING005
  37.     String   STRING006
  38.     String   STRING007
  39.     String   STRING008
  40.     String   STRING009
  41.     String   STRING010
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     Gosub LABEL017
  46.     Cls
  47.     StartDisp 1
  48.     Gosub LABEL011
  49.     Gosub LABEL002
  50.     Gosub LABEL001
  51.     ResetDisp
  52.     StartDisp 0
  53.     End
  54.     :LABEL001
  55.     DefColor
  56.     Newline
  57.     Newline
  58.     Newline
  59.     Newline
  60.     Newline
  61.     PrintLn "                       @X08┌──────────────────────────────┐"
  62.     PrintLn "                       @X08│@X0FX-SCRiPTS  BY SiN fAMe / XLABS@X08│"
  63.     PrintLn "                       @X08└──────────────────────────────┘"
  64.     Newline
  65.     DefColor
  66.     Delay 13
  67.     Wait
  68.     Return
  69.     :LABEL002
  70.     DefColor
  71.     Cls
  72.     Gosub LABEL006
  73.     BOOLEAN001 = 0
  74.     Gosub LABEL014
  75.     INTEGER007 = STRING007
  76.     INTEGER008 = STRING008
  77.     AnsiPos INTEGER008, INTEGER007
  78.     Gosub LABEL009
  79.     Gosub LABEL010
  80.     While (BOOLEAN001 == 0) Do
  81.         INTEGER004 = Asc(Inkey())
  82.         If (INTEGER004 == 13) Then
  83.             Gosub LABEL007
  84.             BOOLEAN001 = 1
  85.             DefColor
  86.             Gosub LABEL005
  87.             Continue
  88.         Endif
  89.         If ((INTEGER004 == 85) || (INTEGER004 == 56)) Then
  90.             INTEGER002 = INTEGER002 - 1
  91.             Gosub LABEL008
  92.             Dec INTEGER007
  93.             If (INTEGER007 < INTEGER005) INTEGER007 = INTEGER005 + INTEGER003 - 1
  94.             Gosub LABEL009
  95.             Gosub LABEL010
  96.             Continue
  97.         Endif
  98.         If ((INTEGER004 == 68) || (INTEGER004 == 50)) Then
  99.             INTEGER002 = INTEGER002 + 1
  100.             Gosub LABEL008
  101.             Inc INTEGER007
  102.             If (INTEGER007 > INTEGER005 + INTEGER003 - 1) Then
  103.                 INTEGER007 = INTEGER005
  104.             Endif
  105.             Gosub LABEL009
  106.             Gosub LABEL010
  107.             Continue
  108.         Endif
  109.         If (((INTEGER004 == 27) || (INTEGER004 == 81)) || (INTEGER004 == 113)) Then
  110.             DefColor
  111.             BOOLEAN001 = 1
  112.             Gosub LABEL005
  113.             Continue
  114.         Endif
  115.         Gosub LABEL003
  116.     EndWhile
  117.     Return
  118.     :LABEL003
  119.     For INTEGER010 = 1 To INTEGER003
  120.         If (Lower(TSTRING003(INTEGER010)) == Lower(Chr(INTEGER004))) Then
  121.             Gosub LABEL008
  122.             If (INTEGER002 > INTEGER010) Then
  123.                 INTEGER007 = INTEGER007 - INTEGER002 - INTEGER010
  124.                 Goto LABEL004
  125.             Endif
  126.             If (INTEGER002 < INTEGER010) Then
  127.                 INTEGER007 = INTEGER007 + INTEGER010 - INTEGER002
  128.             Endif
  129.             :LABEL004
  130.             INTEGER002 = INTEGER010
  131.             INTEGER012 = INTEGER007
  132.             INTEGER007 = INTEGER002 + INTEGER005 - 1
  133.             Gosub LABEL007
  134.             DefColor
  135.             Gosub LABEL005
  136.             INTEGER010 = INTEGER003
  137.         Endif
  138.     Next
  139.     Return
  140.     :LABEL005
  141.     Cls
  142.     Return
  143.     :LABEL006
  144.     If (Exist(PPEPath() + "XSCR.PCB")) DispFile PPEPath() + "XSCR.PCB", 0
  145.     Return
  146.     :LABEL007
  147.     INTEGER011 = INTEGER007 - INTEGER005 + 1
  148.     Color 0
  149.     Cls
  150.     Quest INTEGER011
  151.     Newline
  152.     Wait
  153.     INTEGER007 = INTEGER012
  154.     Goto LABEL002
  155.     :LABEL008
  156.     AnsiPos STRING008, STRING007
  157.     Print STRING006
  158.     Return
  159.     :LABEL009
  160.     STRING007 = INTEGER007
  161.     STRING008 = INTEGER008
  162.     STRING006 = ScrText(STRING008, STRING007, STRING010, 1)
  163.     Return
  164.     :LABEL010
  165.     AnsiPos INTEGER008, INTEGER007
  166.     Print ReadLine(STRING001, 2) + StripAtx(STRING006)
  167.     Return
  168.     :LABEL011
  169.     STRING001 = PPEPath() + "XSCR.CFG"
  170.     STRING002 = ReadLine(STRING001, 5)
  171.     STRING005 = ReadLine(STRING001, 6)
  172.     STRING010 = ReadLine(STRING001, 3)
  173.     INTEGER001 = S2I(ReadLine(STRING001, 7), 10)
  174.     STRING004 = ReadLine(STRING001, 4)
  175.     Tokenize STRING004
  176.     INTEGER005 = S2I(GetToken(), 10)
  177.     INTEGER006 = S2I(GetToken(), 10)
  178.     STRING007 = INTEGER005
  179.     STRING008 = INTEGER006 + INTEGER001
  180.     GetUser
  181.     INTEGER010 = 1
  182.     FOpen 1, STRING002, 0, 2
  183.     FGet 1, STRING004
  184.     :LABEL012
  185.     If (Ferr(1)) Goto LABEL013
  186.     TSTRING003(INTEGER010) = Left(STRING004, 1)
  187.     If (Lower(TSTRING003(INTEGER010)) == Lower(U_Trans)) Then
  188.         INTEGER002 = INTEGER010
  189.         STRING007 = STRING007 + INTEGER010 - 1
  190.     Endif
  191.     FGet 1, STRING004
  192.     Inc INTEGER010
  193.     Goto LABEL012
  194.     :LABEL013
  195.     FClose 1
  196.     Return
  197.     :LABEL014
  198.     AnsiPos INTEGER006, INTEGER005
  199.     INTEGER007 = INTEGER005
  200.     INTEGER008 = INTEGER006
  201.     INTEGER009 = 0
  202.     INTEGER003 = 0
  203.     FOpen 1, STRING002, 0, 2
  204.     FGet 1, STRING004
  205.     :LABEL015
  206.     If (Ferr(1)) Goto LABEL016
  207.     Inc INTEGER003
  208.     If (INTEGER003 > STRING005) Then
  209.         INTEGER003 = STRING005
  210.         FClose 1
  211.         Return
  212.     Endif
  213.     Print ReadLine(STRING001, 1) + TSTRING003(INTEGER003)
  214.     Forward INTEGER001
  215.     INTEGER010 = 5
  216.     While (Mid(STRING004, INTEGER010, 1) <> ",") Do
  217.         Inc INTEGER010
  218.     EndWhile
  219.     STRING009 = ""
  220.     Inc INTEGER010
  221.     While (Mid(STRING004, INTEGER010, 1) <> ",") Do
  222.         STRING009 = STRING009 + Mid(STRING004, INTEGER010, 1)
  223.         Inc INTEGER010
  224.     EndWhile
  225.     Print ReadLine(STRING001, 1) + STRING009
  226.     If (Len(STRING009) > INTEGER009) INTEGER009 = Len(STRING009)
  227.     FGet 1, STRING004
  228.     Inc INTEGER007
  229.     AnsiPos INTEGER008, INTEGER007
  230.     Goto LABEL015
  231.     :LABEL016
  232.     FClose 1
  233.     INTEGER007 = INTEGER005
  234.     Return
  235.     :LABEL017
  236.     If (TokCount()) Then
  237.         KbdStuff "T " + GetToken()
  238.         End
  239.     Endif
  240.     Return
  241.  
  242. ;------------------------------------------------------------------------------
  243. ;
  244. ; Usage report (before postprocessing)
  245. ;
  246. ; ■ Statements used :
  247. ;
  248. ;    2       End
  249. ;    4       Cls
  250. ;    2       Wait
  251. ;    1       Color 
  252. ;    29      Goto 
  253. ;    47      Let 
  254. ;    4       Print 
  255. ;    3       PrintLn 
  256. ;    20      If 
  257. ;    1       DispFile 
  258. ;    2       FOpen 
  259. ;    3       FClose 
  260. ;    4       FGet 
  261. ;    1       ResetDisp
  262. ;    2       StartDisp 
  263. ;    1       GetUser
  264. ;    6       DefColor
  265. ;    21      Gosub 
  266. ;    12      Return
  267. ;    1       Delay 
  268. ;    7       Inc 
  269. ;    1       Dec 
  270. ;    7       Newline
  271. ;    1       Tokenize 
  272. ;    1       KbdStuff 
  273. ;    1       Quest 
  274. ;    5       AnsiPos 
  275. ;    1       Forward 
  276. ;
  277. ;
  278. ; ■ Functions used :
  279. ;
  280. ;    17      +
  281. ;    9       -
  282. ;    11      ==
  283. ;    2       <>
  284. ;    3       <
  285. ;    1       <=
  286. ;    4       >
  287. ;    2       >=
  288. ;    17      !
  289. ;    2       &&
  290. ;    5       ||
  291. ;    2       Len(
  292. ;    4       Lower()
  293. ;    3       Mid()
  294. ;    1       Left()
  295. ;    2       Ferr()
  296. ;    1       Chr()
  297. ;    1       Asc()
  298. ;    1       StripAtx()
  299. ;    1       Inkey()
  300. ;    3       PPEPath()
  301. ;    8       ReadLine()
  302. ;    3       GetToken()
  303. ;    1       Exist()
  304. ;    3       S2I()
  305. ;    1       TokCount()
  306. ;    1       ScrText()
  307. ;
  308. ;------------------------------------------------------------------------------
  309. ;
  310. ; Analysis flags : No flag
  311. ;
  312. ;------------------------------------------------------------------------------
  313. ;
  314. ; Postprocessing report
  315. ;
  316. ;    1       For/Next
  317. ;    3       While/EndWhile
  318. ;    11      If/Then or If/Then/Else
  319. ;    0       Select Case
  320. ;
  321. ;------------------------------------------------------------------------------
  322. ;                 AEGiS Corp - Break the routines, code against the machines!
  323. ;------------------------------------------------------------------------------
  324.